#define _CRT_SECURE_NO_WARNINGS  1
#include <iostream>
#include<map>
#include<string>
#include<vector>
#include<algorithm>
//using namespace std;
//
//struct greaterD
//{
//    bool operator()(const pair<char, int>& m1, const pair<char, int>& m2)
//    {
//        return m1.second > m2.second || m1.second == m2.second && m1.first < m2.first;
//    }
//};
//
//int main()
//{
//    string s;
//    cin >> s;
//    map<char, int> m;
//    for (auto& ch : s)
//    {
//        m[ch]++;
//    }
//
//    vector<pair<char, int >> v;
//    for (auto ch : m)
//    {
//        v.push_back(ch);
//    }
//
//    sort(v.begin(), v.end(), [](const pair<char, int>& m1, const pair<char, int>& m2) { return m1.second > m2.second || m1.second == m2.second && m1.first < m2.first; });
//    //sort(v.begin(), v.end(), greaterD());
//    cout << v[0].first << endl;
//    cout << v[0].second << endl;
//
//    return 0;
//}



#include <iostream>
#include<string>

using namespace std;
int main()
{
    int k;
    char a, b;
    cin >> k;
    string s;
    cin >> s;
    cin >> a >> b;
    int count = 0;

    for (int i = 0; i < s.size(); i++)
    {
        if (s[i] == a)
        {
            for (int j = i + k-1; j < s.size(); j++)
            {
                if (s[j] == b)
                {
                    count++;
                }
            }
        }
    }

    cout << count;

}